package com.sample.util;

/**
 * ユーティリティクラス.
 * @author SASAKI
 *
 */
public class Util {

	/**
	 * インスタンスの生成を禁止.
	 */
	private Util() {

	}

	/**
	 * スタックトレース文字列を取得する
	 * @param ste StackTraceElement
	 * @return スタックトレース
	 */
	public static String getStackTraceString(Exception e) {

		StringBuffer sb = new StringBuffer(10000);
		sb.append("\n");
		sb.append(e.getMessage());

		StackTraceElement[] ste = e.getStackTrace();
		if (ste != null && ste.length > 0) {
			for (StackTraceElement stackTraceElement : ste) {
				String className = stackTraceElement.getClassName();
				String methodName = stackTraceElement.getMethodName();
				int lineNum = stackTraceElement.getLineNumber();
				sb.append("\n");
				sb.append(className + " " + methodName + " :" + lineNum);
			}
		}
		return sb.toString();
	}
}
